﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Windows.Forms;

namespace Future.FormBase
{
    public interface IMdiChildForm
    {
        /// <summary>
        /// 子窗体的工具栏组件
        /// </summary>
        IToolbarRegister ToolbarRegister { get; set; }
        /// <summary>
        ///  注册MDI窗体内的ToolBar.param mdiForm ToolBar管理对象的实例
        /// </summary>
        /// <param name="toolBarRegister"></param>
        void RegisterToolBar(IToolbarRegister toolBarRegister);
        /// <summary>
        /// 注册子窗子观察者
        /// </summary>
        /// <param name="observers"></param>
        void RegisterObserver(IObserver[] observers);
        /// <summary>
        /// 返回窗体的按钮
        /// </summary>
        IButtonList Buttons { get; }
        /// <summary>
        /// 初始化窗体的按钮
        /// </summary>
        void InitButtons();
        /// <summary>
        /// 窗体是否在关闭状态
        /// </summary>
        bool IsClosing { get; set; }
    }

    public interface IMdiForm
    {
        IToolbarRegister MdiToolbar { get; set; }   // 主窗体的工具栏
        IObserver[] MdiObservers { get; }           // 主窗体动态信息观察者
        void RegisterMdiButtons();                  // 注册MDI主窗体的工具栏的按钮
        IList MdiButtons { get; }                   // MDI主窗体上的按钮集合
        MenuStrip MainMenu { get; }                 // 所有模块主菜单的集合
        void ShowModuleContainerForm();             // 显示模块容器子窗体
    }
}
